s="()[]{}"
def isValid(s):
    #定义一个栈，使用栈来实现括号匹配
    stack_list=[]
    i=0
    while i<len(s):
        print("i轮数:",i)
        print("s[i]，当前的处理元素:",s[i])
        if s[i] in ['(','[','{']:
            #如果为左括号的话，就进行入栈的操作
            stack_list.append(s[i])
        else:
            stack_len=len(stack_list)
            print("栈中元素个数：",stack_len)
            if stack_len<=0:
                #表示此时栈中已经没有元素了，无法匹配右括号
                return False
            #右括号的情况下，直接弹出栈顶的元素
            stack_top=stack_list.pop(stack_len-1)
            print(stack_top)
            print("弹出栈之后，栈的大小：",len(stack_list))
            if (s[i]==")" and stack_top=="(") or (s[i]=="]" and stack_top=="[") or (s[i]=="}" and stack_top=="{"):
                i+=1
                continue
            else:
                return False
        i+=1
    if len(stack_list)==0:
        return True
    else:
        return False
print(isValid(s))